package com.mdd.admin.service.category;

import com.mdd.admin.validate.category.GoodsCategoryParam;
import com.mdd.admin.vo.category.GoodsCategoryListVo;
import com.mdd.admin.vo.category.GoodsCategoryDetailVo;
import com.mdd.common.entity.goods.GoodsCategory;

import java.util.List;
import java.util.Map;

/**
 * 服务分类服务接口类
 */
public interface IGoodsCategoryService {

    /**
     * 服务分类列表
     *
     * @param params 搜索参数
     * @return PageResult<GoodsCategoryVo>
     */
    List<GoodsCategoryListVo> list(Map<String, String> params);

    /**
     * 服务分类详情
     *
     * @param id 主键ID
     * @return GoodsCategory
     */
    GoodsCategoryDetailVo detail(Long id);

    /**
     * 服务分类新增
     *
     * @param goodsCategoryParam 参数
     */
    void add(GoodsCategoryParam goodsCategoryParam);

    /**
     * 服务分类编辑
     *
     * @param goodsCategoryParam 参数
     */
    void edit(GoodsCategoryParam goodsCategoryParam);

    /**
     * 服务分类删除
     *
     * @param id 主键ID
     */
    void del(Long id);

    List<GoodsCategoryListVo> listPid();

    void updateStatus(Long id, Integer isShow);

    List<GoodsCategory> listByIds(List<Long> categoryIds);
}
